In many places, there was an #ifdef/#else block that selected one of two implmentations of rebind_alloc based on whether or not we had template aliases. Create a helper struct to encapsulate that bit of logic, and replace all the ifdefs with uses of that struct. No functionality change intented. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@234296 91177308-0d34-0410-b5e6-96231b3b80d8 
diff --git a/include/vector b/include/vector index efe21e1..48e970a 100644 --- a/include/vector +++ b/include/vector 
@@ -2125,13 +2125,7 @@  typedef _VSTD::reverse_iterator<const_iterator> const_reverse_iterator;    private: - typedef typename __alloc_traits::template -#ifndef _LIBCPP_HAS_NO_TEMPLATE_ALIASES - rebind_alloc<__storage_type> -#else - rebind_alloc<__storage_type>::other -#endif - __storage_allocator; + typedef typename __rebind_alloc_helper<__alloc_traits, __storage_type>::type __storage_allocator;  typedef allocator_traits<__storage_allocator> __storage_traits;  typedef typename __storage_traits::pointer __storage_pointer;  typedef typename __storage_traits::const_pointer __const_storage_pointer;